/**
 * Created by fangjiahui on 15/12/9.
 */


// 所有模块都通过 define 来定义
define(function (require, exports, module) {
	
    // 通过 require 引入依赖
    require('common');
    var Time = require("/plugins/extend/Time");
    var uuid = $('input[name="uuid_"]').val();
    var Model = require('/plugins/extend/Model');
    var investRecordFlag = true;
    var interestRateRule = $("#interestRule").val().split(",");
    $('.home_1').addClass('qd_guide');
    $.ajax({
        url: "/app/invest/borrowDetail.html?uuid=" + uuid,
        type: "get",
        dataType: "json",
        success: function (json) {

            var investCategory = json.borrow.category;
            var tpl = require('/mobile/tpl/investDetail/detail.tpl');//载入tpl模板
            var template = Handlebars.compile(tpl);
            var html = template(json);
            $("#invest_detail").html(html);
            for(var i=0,len=interestRateRule.length;i<len;i++){
            	if(json.borrow.type==interestRateRule[i]){
            		$(".choiceCouponDiv").show();
            		break;
            	}
            }
            knobFcn();
            //Time count down
            var templateTime = '{dnn}{dl}{hnn}{hl}{mnn}{ml}{snn}{sl}';
            Time.countDown($(".countDownTime"), 1000, templateTime);

            //Popup layer
            $('.detail_layer a').click(function () {
                var target = $(this).attr('class');
                target = "#" + target.slice(0, 4);
                
              //打开弹窗时body不可滚动
               $("body").css("overflow","hidden");
              
                //图片资料改为第一次点击加载
                if(target=="#tpzl"){
                	var imgUrls = $(target).find("input[type='hidden']");
                	if(imgUrls.length!=0){
                		var imgHtmls = [];
                		for(var i=0,len=imgUrls.length;i<len;i++){
                			imgHtmls.push('<div><img src="'+imgUrls[i].value+'" alt=""/></div>');
                		}
                		$(target).find(".invest_image_layer").html(imgHtmls.join(""));
                		require.async(['/plugins/flexSlider/flexslider.css','/plugins/flexSlider/jquery.flexslider-min.js'],function(){
                        	$(".invest_image_layer").flexslider({
                    			selector: "div img",
                    			touch:true,
                    			reverse:true,
                    			useCSS:true,
                    			controlNav:true,
                    			directionNav:false,
                    			mousewheel:true
                        	});
                        });
                	}
                }else if(target=="#tzjl"&&investRecordFlag){
                	getInvestorList();
                	investRecordFlag = false;
                }

                $(target).show().fadeIn(500);
            });
           $('a.btnCancel').click(function () {
                $(".box").hide().fadeOut(500);
              //关闭弹窗时body恢复滚动
                $("body").css("overflow","auto");
              
            });
            // 定向密码自动填充问题
           $(".isDirectionalText").live("focus keyup",function(){
                $(".isDirectional").val($(".isDirectionalText").val());
            });

            function refreshIntrest() {

            }


            // 增值功能公用变量(红包)
            $choiceRedPacket = $('.choiceRedPacket');										// 	选择  红包  按钮节点,使用文件redPacket.js、detail.js
            $choiceRedPacketInput = $('.choiceRedPacketBox ul li input[type="checkbox"]');	// 单个红包选择框节点
            $choiceRedPacketMoney = $('.choiceRedPacketMoney');						//	选中  红包  总额节点,弹框显示	红包
            $investMoney = $('.investMoney');									// 	实际支付总额节点,弹框显示 	 红包

            $choiceExperience = $('.choiceExperience');								//	选择    体验券  按钮节点,使用文件experience.js、detail.js
            $choiceExperienceMoney = $('.choiceExperienceMoney');							//	选中	体验券  总额节点,弹框显示	体验券
            $realinvestMoney = $('.realinvestMoney');									//	实际支付总额节点,弹框显示  	体验券


            $finalActualPayment = $('.finalActualPayment');								//  实际支付总额节点
            $finalInvestMoney = $('.finalInvestMoney');									//  实际投资总额节点
            $finalInvestIncome = $('.finalInvestIncome');									//  预期收益节点
            $money = $("#money");															// 	输入投资金额节点

            //***1：红包功能
            require.async('invest/ext/redPacket');

            //***2：体验券功能
            require.async('invest/ext/experience');

            //***3：加息券功能
            require.async('invest/ext/coupon');


            //	红包打开弹框初始化函数
            function FncheckRedInit() {
                currentCheckedMoney = 0;  														// 	选中红包总额     数值型应先赋值为0，表明为数值
                money = $money.val();															//	输入投资金额
                var redPackageRate = $("#redPackageRate").val();
                canUseRedMoney = parseInt(money * redPackageRate);								//	可用红包总额
//	      		canUseRedMoney = 50;															//	可用红包总额  模拟值
                dataRedChecked = [];
                actualPayment = $money.val();

                $('.choiceRedPacketBox ul li input[type="checkbox"]').each(function () {
                    if ($(this).attr("checked")) {
                        $(this).parent().removeClass('checkInput');
                        $(this).attr('checked', false);
                    }

                });

                //	删除数组dataRedChecked中的所有值，并将值赋值给隐藏域
                for (var i = dataRedChecked.length; i > 0; i--) {
                    dataRedChecked.pop();
                }
                $("#redMoneyIdArry").val(dataRedChecked);

                //		弹框显示
                $choiceRedPacketMoney.text(currentCheckedMoney); //	弹框选中红包总额
                $investMoney.text(actualPayment);  // 弹框实际支付总额
            }

            //  体验券打开弹框初始化函数
            function FncheckExpInit() {
                var
                    actualPayment = 0,																	//	实际支付总额
                    currentCheckedExMoney = 0,  														// 	选中体验券总额     数值型应先赋值为0，表明为数值
                    canUseExperienceMoney = $("#canUseExperienceMoney").val(),							//	可用体验券金额,detail.tpl已添加模拟数据
//        	    canUseExperienceMoney = 200,//	模拟数据
                    money = $money.val(),																//	输入投资金额
                    dataExpChecked = []
                currentCheckedRedPacket = 0;														//	当前被选中的红包总额

                $('.choiceExperienceBox ul li input[type="checkbox"]').each(function () {
                    if ($(this).attr("checked")) {
                        $(this).parent().removeClass('checkInput');
                        $(this).attr('checked', false);
                    }

                });

                //	删除数组dataExpChecked中的所有值，并将值赋值给隐藏域
                for (var i = dataExpChecked.length; i > 0; i--) {
                    dataExpChecked.pop();
                }
                $("#experienceMoneyIdArry").val(dataRedChecked);

                //   弹框显示
                $choiceExperienceMoney.text(currentCheckedExMoney); //	弹框选中红包总额
                $realinvestMoney.text(actualPayment);  // 弹框实际支付总额

            }

            //  加息券打开弹框初始化函数
            function FncheckCouInit() {
                var $couponRadio = $('.js_couponRadio');											//单个加息券选择
                $('.choiceCouponBox ul li input[type="radio"]').each(function () {
                    $(this).parent().removeClass('radioBg2');
                });
                $('#rateInterestId').val('');			//	将选中的值置空

            }

            //	投资金额输入框判断
            $money.on({
                keyup: function () {

                    $(".form_mony_tip").addClass("hide");

                    if ($money.val().match(/^0+/)) {
                        this.value = $money.val().replace(/^(0+)/, '');
                    }
                    // 不能输入 类似00、01、0000001的数值
                    if ($money.val().match(/^0+\d+/)) {
                        this.value = $money.val().replace(/^0+(\d+)/, '$1');
                    }

                    // 小数点前没有数字，自动在前面加上0
                    if ($money.val().match(/^0\./)) {
                        this.value = $money.val().replace(/0\./, '');
                    }

                    $('.choiceCoupon').html("使用加息券：<em class='formCou'>0</em>%");
                    $('.myRIRCouponId').val('');
                    $('#upMoneyVal').val(0);
                    $choiceRedPacket.html("使用红包：<em>0</em>元");
                    $choiceExperience.html("使用体验券：<em>0</em>元");

                    // 计算预期收益用
                    var apr = json.borrow.apr;
                    var isday = json.borrow.borrowTimeType;
                    var timeLimit = json.borrow.timeLimit;
                    if (isday == 1) {
                        apr = apr / 36500;
                    } else {
                        apr = apr / 1200;
                    }

                    if ($money.val() == '') {
                        $finalActualPayment.html("实际支付：<em>0</em>元");
                        $finalInvestMoney.html("实际投资：<em>0</em>元");
                        $finalInvestIncome.html("预期收益：<em>0</em>元");
                    } else {
                        $finalActualPayment.html("实际支付：<em>" + $money.val() + "</em>元");
                        $finalInvestMoney.html("实际投资：<em>" + $money.val() + "</em>元");

                        // 计算预期收益用
                        var apr = json.borrow.apr;
                        var isDay = json.borrow.borrowTimeType;
                        var timeLimit = json.borrow.timeLimit;
                        apr = isDay == 1 ? apr / 36500 : apr / 1200;
                        var profit = (($money.val() * apr * timeLimit * 100) / 100).toFixed(2);
                        $finalInvestIncome.html("预期收益：<em>" + profit + "</em>元");
                    }
                    FncheckRedInit();	//	初始化红包弹框中的值
                    FncheckExpInit();	//	初始化体验券弹框中的值
                    FncheckCouInit();	//	初始化加息券弹框中的值
                },
                change: function ()//解决修改投资金额时的bug
                {

                    $('.js_couponRadio').prop('checked', false);
                    $('.radioBg').removeClass('radioBg2');
                    $('.myRIRCouponId').val('');

                    $choiceRedPacket.html("使用红包：<em>0</em>元");
                    $choiceExperience.html("使用体验券：<em>0</em>元");
                    if ($money.val() == '') {
                        $finalActualPayment.html("实际支付：<em>0</em>元");
                        $finalInvestMoney.html("实际投资：<em>0</em>元");
                        $finalInvestIncome.html("预期收益：<em>0</em>元");
                    } else {
                        $finalActualPayment.html("实际支付：<em>" + $money.val() + "</em>元");
                        $finalInvestMoney.html("实际投资：<em>" + $money.val() + "</em>元");

                        // 计算预期收益用
                        var apr = json.borrow.apr;
                        var isDay = json.borrow.borrowTimeType;
                        var timeLimit = json.borrow.timeLimit;
                        apr = isDay == 1 ? apr / 36500 : apr / 1200;
                        var profit = (($money.val() * apr * timeLimit * 100) / 100).toFixed(2);
                        $finalInvestIncome.html("预期收益：<em>" + profit + "</em>元");
                    }

                    FncheckRedInit();	//	初始化红包弹框中的值
                    FncheckExpInit();	//	初始化体验券弹框中的值
                    FncheckCouInit(); //	初始化加息券弹框中的值

                    //校验提示框关闭
                    $(".form-group input").focus(function () {
                        $(this).parent().find(".form_group_tip").addClass("hide");
                    });

                    if (investCategory != 2) {
                        var $form_mony_tip = $(".form_mony_tip");
                    } else {
                        var $form_mony_tip = $(".form_trade_tip");
                    }
                    //标投资校验
                    $("#immediateInvestment").unbind("click").click(function () {
                            var $form_mony_tip = $(".form_mony_tip");
                            var finalInvestMoney = $finalInvestMoney.find("em").text();
                            if (parseInt(json.userInvestIdentify.realNameStatus) != 1) {
                                $form_mony_tip.removeClass("hide").html('为了保证您的安全，请先<a href="/mobile/usercenter/useridentify/cardid.html" >实名认证</a>再进行投资！');
                                return false;
                            } else if (($money.val() == "" || $money.val() == 0) && (investCategory != 2)) {
                                //&& (finalInvestMoney == "" || finalInvestMoney == 0)) {
                                // 实投金额不能为0
                                $form_mony_tip.removeClass("hide").html('请输入投标金额！');
                                return false;
                            }
                            //借款金额 json.borrow.account
                            //可投金额 json.accountWait
                            //账户余额 json.account.useMoney
                            //实际支付金额 finalActualPayment
                            //实际投资金额finalInvestMoney
                            //投标金额 money
                            //最小投标 json.borrow.lowestAccount
                            //最大投标 json.borrow.mostAccount

                            if (investCategory != 2) {
                                //	当实际支付金额大于账户余额
                                var finalActualPayment = parseInt($(".finalActualPayment").find("em").text());
                                if (finalActualPayment > parseInt(json.account.useMoney)) {
                                    $form_mony_tip.removeClass("hide").html('账户余额不足，请前往PC端充值!');
                                    //$form_mony_tip.removeClass("hide").html('账户余额不足，请<a href="/member/recharge/newRecharge.html" target="_blank">立即充值</a>!');
                                    return false;
                                }


                                //	当实际投资金额大于最大投标金额时
                                if (parseInt(json.borrow.mostAccount) == 0) {
                                    var mostAccount = json.borrow.account;	//	判断最大投标金额是否为0，为0表示未设置最大投标金额，所以当前最大投标金额等于借款金额
                                }
                                if (finalInvestMoney > mostAccount) {
                                    if (finalInvestMoney > json.account.useMoney) {
                                        $form_mony_tip.removeClass("hide").html('实际投资金额不能大于可用余额<a href="javascript:;" id="invest_all">' + mostAccount + '</a>元！');
                                        $("#invest_all").click(function () {
                                            $money.val(mostAccount);
                                            $form_mony_tip.addClass("hide");
                                            $finalActualPayment.html("实际支付：<em>" + $money.val() + "</em>元");
                                            $finalInvestMoney.html("实际投资：<em>" + $money.val() + "</em>元");
                                            $choiceRedPacket.html("使用红包：<em>0</em>元");
                                            $choiceExperience.html("使用体验券：<em>0</em>元");
                                            $('.choiceCoupon').html("使用加息券：<em class='formCou'>0</em>%");
                                            $('.myRIRCouponId').val('');
                                            $('#upMoneyVal').val(0);

                                            FncheckRedInit();   //  初始化红包弹框中的值
                                            FncheckExpInit();	//	初始化体验券弹框中的值
                                            FncheckCouInit(); //	初始化加息券弹框中的值
                                        });
                                        return false;
                                    } else {
                                        $form_mony_tip.removeClass("hide").html('实际投资金额不能大于最大投标金额<a href="javascript:;" id="invest_all">' + mostAccount + '</a>元！');
                                        $("#invest_all").click(function () {
                                            $money.val(mostAccount);
                                            $form_mony_tip.addClass("hide");
                                            $finalActualPayment.html("实际支付：<em>" + $money.val() + "</em>元");
                                            $finalInvestMoney.html("实际投资：<em>" + $money.val() + "</em>元");
                                            $choiceRedPacket.html("使用红包：<em>0</em>元");
                                            $choiceExperience.html("使用体验券：<em>0</em>元");
                                            $('.choiceCoupon').html("使用加息券：<em class='formCou'>0</em>%");
                                            $('.myRIRCouponId').val('');
                                            $('#upMoneyVal').val(0);

                                            FncheckRedInit();   //  初始化红包弹框中的值
                                            FncheckExpInit();	//	初始化体验券弹框中的值
                                            FncheckCouInit(); //	初始化加息券弹框中的值
                                        });
                                        return false;
                                    }

                                }

                                //可投金额大于最小投标金额
                                if (parseInt(json.accountWait) > parseInt(json.borrow.lowestAccount)) {

                                    if (finalInvestMoney < parseInt(json.borrow.lowestAccount)) {
                                        $form_mony_tip.removeClass("hide").html('实际投资金额不能小于最小投标金额<a href="javascript:;" id="invest_all">' + json.borrow.lowestAccount + '</a>元！');
                                        $("#invest_all").click(function () {
                                            $money.val(json.borrow.lowestAccount);
                                            $form_mony_tip.addClass("hide");
                                            $finalActualPayment.html("实际支付：<em>" + $money.val() + "</em>元");
                                            $finalInvestMoney.html("实际投资：<em>" + $money.val() + "</em>元");
                                            $choiceRedPacket.html("使用红包：<em>0</em>元");
                                            $choiceExperience.html("使用体验券：<em>0</em>元");
                                            $('.choiceCoupon').html("使用加息券：<em class='formCou'>0</em>%");
                                            $('.myRIRCouponId').val('');
                                            $('#upMoneyVal').val(0);

                                            FncheckRedInit();   //  初始化红包弹框中的值
                                            FncheckExpInit();	//	初始化体验券弹框中的值
                                            FncheckCouInit(); //	初始化加息券弹框中的值
                                        });
                                        return false;

                                    }
                                    else if (finalInvestMoney > parseInt(json.accountWait)) {
                                        $form_mony_tip.removeClass("hide").html('实际投资金额不能大于可投金额，可点击<a href="javascript:;" id="invest_all">全部投满</a>剩余金额!');
                                        $("#invest_all").click(function () {
                                            $('.choiceCoupon').html("使用加息券&nbsp;&gt;&gt;");
                                            $('.myRIRCouponId').val('');
                                            $money.val(json.accountWait);
                                            $form_mony_tip.addClass("hide");
                                            $finalActualPayment.html("实际支付：<em>" + $money.val() + "</em>元");
                                            $finalInvestMoney.html("实际投资：<em>" + $money.val() + "</em>元");
                                            $choiceRedPacket.html("使用红包：<em>0</em>元");
                                            $choiceExperience.html("使用体验券：<em>0</em>元");
                                            $('.choiceCoupon').html("使用加息券：<em class='formCou'>0</em>%");
                                            $('.myRIRCouponId').val('');
                                            $('#upMoneyVal').val(0);

                                            FncheckRedInit();   //  初始化红包弹框中的值
                                            FncheckExpInit();	//	初始化体验券弹框中的值
                                            FncheckCouInit(); //	初始化加息券弹框中的值
                                        });
                                        return false;
                                    }
                                    else if (parseInt(json.borrow.mostAccount) != 0 && finalInvestMoney > parseInt(json.borrow.mostAccount)) {
                                        $form_mony_tip.removeClass("hide").html('实际投资金额不能大于最大投标额度,当前<a href="javascript:;" id="invest_all">可投' + json.borrow.mostAccount + '</a>!');
                                        $("#invest_all").click(function () {
                                            $money.val(json.borrow.mostAccount);
                                            $form_mony_tip.addClass("hide");
                                            $finalActualPayment.html("实际支付：<em>" + $money.val() + "</em>元");
                                            $finalInvestMoney.html("实际投资：<em>" + $money.val() + "</em>元");
                                            $choiceRedPacket.html("使用红包：<em>0</em>元");
                                            $choiceExperience.html("使用体验券：<em>0</em>元");
                                            $('.choiceCoupon').html("使用加息券：<em class='formCou'>0</em>%");
                                            $('.myRIRCouponId').val('');
                                            $('#upMoneyVal').val(0);

                                            FncheckRedInit();   //  初始化红包弹框中的值
                                            FncheckExpInit();	//	初始化体验券弹框中的值
                                            FncheckCouInit(); //	初始化加息券弹框中的值
                                        });
                                        return false;
                                    }
                                    if ($(".form-group input[type='password']").hasClass("isDirectional")) {
                                        if ($(".isDirectional").val() == '') {
                                            $(".form_directional_tip").removeClass("hide").html('请输入定向密码');
                                            $form_mony_tip.addClass("hide");
                                            return false;
                                        }
                                    }
                                    if ($(".form-group input[type='password']").hasClass("payPwd")) {
                                        if ($(".payPwd").val() == "") {
                                            $(".form_trade_tip").removeClass("hide").html('请输入交易密码');
                                            $form_mony_tip.addClass("hide");
                                            return false;
                                        }
                                    }
                                }
                                else {


                                    if (finalInvestMoney != parseInt(json.accountWait)) //可投金额小于最小投标金额——实际投标金额不等于可投金额
                                    {
                                        $form_mony_tip.removeClass("hide").html('请填入全部剩余<a href="javascript:;" id="invest_all">可投金额</a>!');
                                        $("#invest_all").click(function () {
                                            $money.val(json.accountWait);
                                            $form_mony_tip.addClass("hide");
                                            $finalActualPayment.html("实际支付：<em>" + $money.val() + "</em>元");
                                            $finalInvestMoney.html("实际投资：<em>" + $money.val() + "</em>元");
                                            $choiceRedPacket.html("使用红包：<em>0</em>元");
                                            $choiceExperience.html("使用体验券：<em>0</em>元");
                                            $('.choiceCoupon').html("使用加息券：<em class='formCou'>0</em>%");
                                            $('.myRIRCouponId').val('');
                                            $('#upMoneyVal').val(0);

                                            FncheckRedInit();   //  初始化红包弹框中的值
                                            FncheckExpInit();	//	初始化体验券弹框中的值
                                            FncheckCouInit(); //	初始化加息券弹框中的值

                                        });
                                        return false;
                                    }


                                    if ($(".form-group input[type='password']").hasClass("isDirectional")) {
                                        if ($(".isDirectional").val() == '') {
                                            $(".form_directional_tip").removeClass("hide").html('请输入定向密码');
                                            $form_mony_tip.addClass("hide");
                                            return false;
                                        }
                                    }
                                    if ($(".form-group input[type='password']").hasClass("payPwd")) {
                                        if ($(".payPwd").val() == "") {
                                            $(".form_trade_tip").removeClass("hide").html('请输入交易密码');
                                            $form_mony_tip.addClass("hide");
                                            return false;
                                        }
                                    }
                                }
                                $(this).attr('disabled', 'disabled');
                                $("#doInvest").ajaxSubmit({
                                    dataType: 'json',
                                    success: function (data) {
                                        Model.showMsg(data, {
                                            name: '个人中心',
                                            link: '/mobile/usercenter/invest/myInvest.html'
                                        });
                                        $('#immediateInvestment').removeAttr('disabled');
                                    }
                                });
                            }
                            else {
                                //体验卷
                                if (finalInvestMoney == 0) {
                                    $(".form_trade_tip").removeClass("hide").html('请选择体验卷');
                                    return false;
                                } else if ($(".form-group input[type='password']").hasClass("payPwd") || $(".form-group input[type='password']").hasClass("payPwdText")) {
                                    if ($(".payPwd").val() == "") {
                                        $(".form_trade_tip").removeClass("hide").html('请输入交易密码');

                                        return false;
                                    } else {
                                        $(this).attr('disabled', 'disabled');
                                        $("#doInvest").ajaxSubmit({
                                            dataType: 'json',
                                            success: function (data) {
                                                Model.showMsg(data, {
                                                    name: '个人中心',
                                                    link: '/mobile/usercenter/invest/myInvest.html'
                                                });
                                                $('#immediateInvestment').removeAttr('disabled');
                                            }
                                        });
                                    }
                                }
                            }

                        }
                    );
                }
            })
            $money.trigger('change');

        }
    })


    function getInvestorList(){
		$.ajax({
	        url: "/app/invest/investorList.html?uuid=" + uuid+"&page=1&rows=999",
	        type: "get",
	        dataType: "json",
	        async:false,
	        success:function(json){
	        	var tpl = require('/mobile/tpl/investDetail/investRecord.tpl');//载入tpl模板
	            var template = Handlebars.compile(tpl);
	            var html = template(json);
	        	$("#tzjl .demo").append(html);
	        }
		});
    }
    
    require('/plugins/jquery.knob/jquery.knob.min');
	function knobFcn(){
		$('.knob').each(function () {
			var val = parseInt($(this).val());
			if (val == 100) {
				var isIE = function (ver) {
					var b = document.createElement('b');
					b.innerHTML = '<!--[if IE ' + ver + ']><i></i><![endif]-->';
					return b.getElementsByTagName('i').length === 1;
				};
				if (isIE(8)) {
					$(this).next().addClass("investComplete100");
				}
			}
			$(this).attr("data-fgColor", "#5dc300");
		});
		$('.knob').knob({
			'width': 90,
			'height': 90,
			'thickness': .1,
			format: function(v) {
                return v+'%';
            }
		});
	}
	
	

	
    // 通过 exports 对外提供接口
    //exports.doSomething = ...

    // 或者通过 module.exports 提供整个接口
    //module.exports = ...

});